</head>
<body dir="ltr">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="https://d3dy5758jso6il.cloudfront.net/Content/scripts/gadget.js" type="text/javascript"></script>
<script type="text/javascript">
//Extractor Vars
var date_sent;
var message_id;
var from_address;
var email_body;
var email_subject;

//Insightly Vars
var email_id;
var sender_id;
var opensocial_id;
var JSONLinkList;
var popup_url;

var save_called = new Boolean(0);

matches = google.contentmatch.getContentMatches();

function init() {
    for (var match in matches) {
        for (var key in matches[match]) {
            if (key == "date_sent") {
                date_sent = matches[match][key];
            }
            if (key == "date_received") {
                date_received = matches[match][key];
            }
            if (key == "message_id") {
                message_id = matches[match][key];
            }
            if (key == "sender_email") {
                from_address = matches[match][key];
            }
            if (key == "email_body") {
                email_body = matches[match][key];
            }
            if (key == "subject") {
                email_subject = matches[match][key];
            }
        }
    }

    var logonResource = 'http://gadget.insight.ly/gadget2/findEmail/' + message_id + '?date_sent=' + date_sent + '&from_address=' + encodeURIComponent(from_address);
    osapi.http.get({'href': logonResource, 'format': 'json','authz': 'signed'}).execute(handleLoadResponse);

    $('#savedEmail').append('<img style="vertical-align:middle;margin-left:4px;" src="https://d3dy5758jso6il.cloudfront.net/Content/images/tick-small.png">');

    $('#addEmail').click(function() {
        getAddEmail();
        return false;
    });
    $('#AddTaskButton').click(function() {
        getAddTask();
        return false;
    });
    $('#AddOpportunityButton').click(function() {
        getAddOpp();
        return false;
    });
    $('#AddProjectButton').click(function() {
        getAddProject();
        return false;
    });
    $('#showContact').click(function() {
        getContactDetails();
        return false;
    });
    $('#showEmailLinks').click(function() {
        getEmailLinks();
        return false;
    });
}
;

function handleLoadResponse(data) {
    if ((data.content) && (data.content.error_occured)) { // Error occured
        var str = data.content.error_msg;
        $('#output').hide();
        gadgets.window.adjustHeight(70);
        $('#infomessage').html(str);
        $('#infomessage').show();
        save_called = 0;
        $('#addEmail').text('Error Saving');
        $('#addEmail').append('<img style="vertical-align:middle;margin-left:4px;" src="https://d3dy5758jso6il.cloudfront.net/Content/images/cross-small.png">');
    } else if ((data.content) && (data.content.user_exists)) {
        if (data.content.sender_exists) {
            sender_id = data.content.sender_id;
            $('#AddButtons').show();
            $('#showContact').show();
        }
        if (data.content.email_exists) {
            save_called = 0;
            email_id = data.content.email_id;
            $('#addEmail').hide();
            $('#savedEmail').show();
            getJSONLinkData(); //Get JSON email link data for autocomplete
        } else {
            $('#addEmail').show();
            $('#savedEmail').hide();
        }
    }
}
;

function getAddEmail() {
    $('#addEmail').attr("disabled", true);
    $('#addEmail').text('Saving to Insightly');
    $('#addEmail').addClass('disabled');
    $('#addEmail').append('<img style="vertical-align:middle;margin-left:4px;" src="https://d3dy5758jso6il.cloudfront.net/Content/images/ajax-loader-trans2.gif">');
    var emailExistsResource = 'http://gadget.insight.ly/gadget2/saveEmail/' + date_sent + '?message_id=' + message_id + '&from_address=' + encodeURIComponent(from_address);
    osapi.http.get({ 'href': emailExistsResource, 'format': 'json','authz': 'signed'}).execute(handleLoadResponse);
    save_called = 1;
    savedInterval = setInterval(function() {
        if (save_called) {
            var logonResource = 'http://gadget.insight.ly/gadget2/findEmail/' + message_id + '?date_sent=' + date_sent + '&from_address=' + encodeURIComponent(from_address);
            osapi.http.get({'href': logonResource, 'format': 'json','authz': 'signed'}).execute(handleLoadResponse);
        }
    }, 3000);
}
;

function getAddTask() {
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    var url = "http://gadget.insight.ly/gadget2/TaskCreate";
    gadgets.io.makeRequest(url, addTaskResponse, params);
    $('#AddTaskButton').attr('disabled', 'disabled');
    $('#AddTaskButton').addClass('insightlyPillButton-l-active');
    $('#AddOpportunityButton').removeAttr('disabled');
    $('#AddOpportunityButton').removeClass('insightlyPillButton-c-active');
    $('#AddProjectButton').removeAttr('disabled');
    $('#AddProjectButton').removeClass('insightlyPillButton-r-active');
}
;

function addTaskResponse(data) {
    var str = data.text;
    document.getElementById('output').innerHTML = str;
    $('#infomessage').hide();
    $('#output').show();
    $("#ContactID").val(sender_id);
    $("#EmailID").val(email_id);
    $("#Title").val(email_subject);
    $("#Details").val(email_body);
    addTaskScript();
    $('#Cancel').click(function() {
        $('#output').hide();
        $('#AddTaskButton').removeAttr('disabled');
        $('#AddTaskButton').removeClass('insightlyPillButton-l-active');
        gadgets.window.adjustHeight(40);
        return false;
    });
    $('#newTaskform').submit(function() {
        saveTask();
        return false;
    });
    gadgets.window.adjustHeight(640);
}
;

function saveTask() {
    $("#EmailID").val(email_id);
    $('#newTaskButton').attr("disabled", true);
    $('#newTaskButton').addClass('disabled');
    var formData = $('#newTaskform').serialize();
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
    params[gadgets.io.RequestParameters.POST_DATA] = formData;
    var url = "http://gadget.insight.ly/gadget2/TaskCreate";
    gadgets.io.makeRequest(url, saveTaskResponse, params);
}
;

function saveTaskResponse(data) {
    var str = data.text;
    $('#AddTaskButton').removeAttr('disabled');
    $('#AddTaskButton').removeClass('insightlyPillButton-l-active');
    $('#output').hide();
    gadgets.window.adjustHeight(70);
    $('#infomessage').html(str);
    $('#infomessage').show();
}
;

function getAddOpp() {
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    var url = "http://gadget.insight.ly/gadget2/OpportunityCreate";
    gadgets.io.makeRequest(url, addOppResponse, params);
    $('#AddTaskButton').removeAttr('disabled');
    $('#AddTaskButton').removeClass('insightlyPillButton-l-active');
    $('#AddOpportunityButton').attr('disabled', 'disabled');
    $('#AddOpportunityButton').addClass('insightlyPillButton-c-active');
    $('#AddProjectButton').removeAttr('disabled');
    $('#AddProjectButton').removeClass('insightlyPillButton-r-active');
}
;

function addOppResponse(data) {
    var str = data.text;
    document.getElementById('output').innerHTML = str;
    $('#infomessage').hide();
    $('#output').show();
    $("#ContactID").val(sender_id);
    $("#EmailID").val(email_id);
    $("#OPPORTUNITY_NAME").val(email_subject);
    $("#OPPORTUNITY_DETAILS").val(email_body);
    asmSelect();
    addOppScript();
    $('#Cancel').click(function() {
        $('#output').hide();
        $('#AddOpportunityButton').removeAttr('disabled');
        $('#AddOpportunityButton').removeClass('insightlyPillButton-c-active');
        gadgets.window.adjustHeight(40);
        return false;
    });
    $('#newOpportunityform').submit(function() {
        saveOpportunity();
        return false;
    });
    gadgets.window.adjustHeight(880);
}
;

function saveOpportunity() {
    $("#EmailID").val(email_id);
    $('#newOpportunityButton').attr("disabled", true);
    $('#newOpportunityButton').addClass('disabled');
    var formData = $('#newOpportunityform').serialize();
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
    params[gadgets.io.RequestParameters.POST_DATA] = formData;
    var url = "http://gadget.insight.ly/gadget2/OpportunityCreate";
    gadgets.io.makeRequest(url, saveOpportunityResponse, params);
}
;

function saveOpportunityResponse(data) {
    var str = data.text;
    $('#AddOpportunityButton').removeAttr('disabled');
    $('#AddOpportunityButton').removeClass('insightlyPillButton-c-active');
    $('#output').hide();
    gadgets.window.adjustHeight(70);
    $('#infomessage').html(str);
    $('#infomessage').show();
}
;

function getAddProject() {
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    var url = "http://gadget.insight.ly/gadget2/ProjectCreate";
    gadgets.io.makeRequest(url, addProjectResponse, params);
    $('#AddTaskButton').removeAttr('disabled');
    $('#AddTaskButton').removeClass('insightlyPillButton-l-active');
    $('#AddOpportunityButton').removeAttr('disabled');
    $('#AddOpportunityButton').removeClass('insightlyPillButton-c-active');
    $('#AddProjectButton').attr('disabled', 'disabled');
    $('#AddProjectButton').addClass('insightlyPillButton-r-active');
}
;

function addProjectResponse(data) {
    var str = data.text;
    document.getElementById('output').innerHTML = str;
    $('#infomessage').hide();
    $('#output').show();
    $("#ContactID").val(sender_id);
    $("#EmailID").val(email_id);
    $("#PROJECT_NAME").val(email_subject);
    $("#PROJECT_DETAILS").val(email_body);
    asmSelect();
    addProjectScript();
    $('#Cancel').click(function() {
        $('#output').hide();
        $('#AddProjectButton').removeAttr('disabled');
        $('#AddProjectButton').removeClass('insightlyPillButton-r-active');
        gadgets.window.adjustHeight(40);
        return false;
    });
    $('#newProjectform').submit(function() {
        saveProject();
        return false;
    });
    gadgets.window.adjustHeight(690);
}
;

function saveProject() {
    $("#EmailID").val(email_id);
    $('#newProjectButton').attr("disabled", true);
    $('#newProjectButton').addClass('disabled');
    var formData = $('#newProjectform').serialize();
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
    params[gadgets.io.RequestParameters.POST_DATA] = formData;
    var url = "http://gadget.insight.ly/gadget2/ProjectCreate";
    gadgets.io.makeRequest(url, saveProjectResponse, params);
}
;
function saveProjectResponse(data) {
    var str = data.text;
    $('#AddProjectButton').removeAttr('disabled');
    $('#AddProjectButton').removeClass('insightlyPillButton-r-active');
    $('#output').hide();
    gadgets.window.adjustHeight(70);
    $('#infomessage').html(str);
    $('#infomessage').show();
}
;

function getEmailLinks() {
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    var url = "http://gadget.insight.ly/gadget2/EmailLinks/" + email_id;
    gadgets.io.makeRequest(url, getEmailLinksResponse, params);
    $('#AddTaskButton').removeAttr('disabled');
    $('#AddTaskButton').removeClass('insightlyPillButton-l-active');
    $('#AddOpportunityButton').removeAttr('disabled');
    $('#AddOpportunityButton').removeClass('insightlyPillButton-c-active');
    $('#AddProjectButton').removeAttr('disabled');
    $('#AddProjectButton').removeClass('insightlyPillButton-r-active');
}
;
function getEmailLinksResponse(data) {
    var str = data.text;
    document.getElementById('output').innerHTML = str;
    autoComplete();
    emailLinksScript();
    $('#infomessage').hide();
    $('#output').show();
    gadgets.window.adjustHeight();
    if ($('#output').height() < 250) {
        gadgets.window.adjustHeight(250)
    }
    ;
}
;

function getJSONLinkData() { //Get full link list in JSON for Email Links autoComplete
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
    var linkurl = "http://gadget.insight.ly/gadget2/JSONLinkData/";
    gadgets.io.makeRequest(linkurl, getJSONLinkDataResponse, params);
}
;
function getJSONLinkDataResponse(data) {
    JSONLinkList = eval(data.text);
    $('#showEmailLinks').show();
}
;

function getContactDetails() {
    var params = {};
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    var url = "http://gadget.insight.ly/gadget2/SenderDetails/" + sender_id;
    gadgets.io.makeRequest(url, getContactDetailsResponse, params);
}
;
function getContactDetailsResponse(data) {
    var str = data.text;
    document.getElementById('output').innerHTML = str;
    $('#infomessage').hide();
    $('#output').show();
    gadgets.window.adjustHeight();
    $('#Cancel').click(function() {
        $('#output').hide();
        gadgets.window.adjustHeight(40);
        return false;
    });
}
;


function addNewEmailLink() {
    var LinkType = $('#LinkType').val();
    var linkName = $('#linkName').val();
    var LinkID = $('#LinkID').val();
    var params = {};
    var postdata = {
        LinkID: LinkID,
        LinkType: LinkType,
        linkName: linkName
    };
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
    params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
    var url = 'http://gadget.insight.ly/gadget2/EmailLinkCreate/' + email_id;
    gadgets.io.makeRequest(url, addNewEmailLinkResponse, params);
}
;
function addNewEmailLinkResponse(data) {
    var str = data.text;
    $('#emailLinkItems').html(str);
    $('#LinkTextBox').val('');
    $('#LinkTextBox').focus();
    gadgets.window.adjustHeight();
    if ($('#output').height() < 250) {
        gadgets.window.adjustHeight(250)
    }
    ;
}
;

function asmSelect() {
    (function($) {
        $.fn.asmSelect = function(customOptions) {
            var options = {listType:'ol',sortable:false,highlight:false,animate:false,addItemTarget:'bottom',hideWhenAdded:false,debugMode:false,removeLabel:'remove',highlightAddedLabel:'Added: ',highlightRemovedLabel:'Removed: ',containerClass:'asmContainer',selectClass:'asmSelect',optionDisabledClass:'asmOptionDisabled',listClass:'asmList',listSortableClass:'asmListSortable',listItemClass:'asmListItem',listItemLabelClass:'asmListItemLabel',removeClass:'asmListItemRemove',highlightClass:'asmHighlight'};
            $.extend(options, customOptions);
            return this.each(function(index) {
                var $original = $(this);
                var $container;
                var $select;
                var $ol;
                var buildingSelect = false;
                var ieClick = false;
                var ignoreOriginalChangeEvent = false;

                function init() {
                    while ($("#" + options.containerClass + index).size() > 0)index++;
                    $select = $("<select></select>").addClass(options.selectClass).attr('name', options.selectClass + index).attr('id', options.selectClass + index);
                    $selectRemoved = $("<select></select>");
                    $ol = $("<" + options.listType + "></" + options.listType + ">").addClass(options.listClass).attr('id', options.listClass + index);
                    $container = $("<div></div>").addClass(options.containerClass).attr('id', options.containerClass + index);
                    buildSelect();
                    $select.change(selectChangeEvent).click(selectClickEvent);
                    $original.change(originalChangeEvent).wrap($container).before($select).before($ol);
                    if (options.sortable)makeSortable();
                    if ($.browser.msie)$ol.css('display', 'block');
                }

                function makeSortable() {
                    $ol.sortable({items:'li.' + options.listItemClass,handle:'.' + options.listItemLabelClass,axis:'y',update:function(e, data) {
                        var updatedOptionId;
                        $(this).children("li").each(function(n) {
                            $option = $('#' + $(this).attr('rel'));
                            if ($(this).is(".ui-sortable-helper")) {
                                updatedOptionId = $option.attr('id');
                                return;
                            }
                            $original.append($option);
                        });
                        if (updatedOptionId)triggerOriginalChange(updatedOptionId, 'sort');
                    }}).addClass(options.listSortableClass);
                }

                function selectChangeEvent(e) {
                    if ($.browser.msie && $.browser.version < 7 && !ieClick)return;
                    var id = $(this).children("option:selected").slice(0, 1).attr('rel');
                    addListItem(id);
                    ieClick = false;
                    triggerOriginalChange(id, 'add');
                }

                function selectClickEvent() {
                    ieClick = true;
                }

                function originalChangeEvent(e) {
                    if (ignoreOriginalChangeEvent) {
                        ignoreOriginalChangeEvent = false;
                        return;
                    }
                    $select.empty();
                    $ol.empty();
                    buildSelect();
                    if ($.browser.opera)$ol.hide().fadeIn("fast");
                }

                function buildSelect() {
                    buildingSelect = true;
                    $select.prepend("<option>" + $original.attr('title') + "</option>");
                    $original.children("option").each(function(n) {
                        var $t = $(this);
                        var id;
                        if (!$t.attr('id'))$t.attr('id', 'asm' + index + 'option' + n);
                        id = $t.attr('id');
                        if ($t.is(":selected")) {
                            addListItem(id);
                            addSelectOption(id, true);
                        } else {
                            addSelectOption(id);
                        }
                    });
                    if (!options.debugMode)$original.hide();
                    selectFirstItem();
                    buildingSelect = false;
                }

                function addSelectOption(optionId, disabled) {
                    if (disabled == undefined)var disabled = false;
                    var $O = $('#' + optionId);
                    var $option = $("<option>" + $O.text() + "</option>").val($O.val()).attr('rel', optionId);
                    if (disabled)disableSelectOption($option);
                    $select.append($option);
                }

                function selectFirstItem() {
                    $select.children(":eq(0)").attr("selected", true);
                }

                function disableSelectOption($option) {
                    $option.addClass(options.optionDisabledClass).attr("selected", false).attr("disabled", true);
                    if (options.hideWhenAdded)$option.hide();
                    if ($.browser.msie)$select.hide().show();
                }

                function enableSelectOption($option) {
                    $option.removeClass(options.optionDisabledClass).attr("disabled", false);
                    if (options.hideWhenAdded)$option.show();
                    if ($.browser.msie)$select.hide().show();
                }

                function addListItem(optionId) {
                    var $O = $('#' + optionId);
                    if (!$O)return;
                    var $removeLink = $("<a></a>").attr("href", "#").addClass(options.removeClass).prepend(options.removeLabel).click(function() {
                        dropListItem($(this).parent('li').attr('rel'));
                        return false;
                    });
                    var $itemLabel = $("<span></span>").addClass(options.listItemLabelClass).html($O.html());
                    var $item = $("<li></li>").attr('rel', optionId).addClass(options.listItemClass).append($itemLabel).append($removeLink).hide();
                    if (!buildingSelect) {
                        if ($O.is(":selected"))return;
                        $O.attr('selected', true);
                    }
                    if (options.addItemTarget == 'top' && !buildingSelect) {
                        $ol.prepend($item);
                        if (options.sortable)$original.prepend($O);
                    } else {
                        $ol.append($item);
                        if (options.sortable)$original.append($O);
                    }
                    addListItemShow($item);
                    disableSelectOption($("[rel=" + optionId + "]", $select));
                    if (!buildingSelect) {
                        setHighlight($item, options.highlightAddedLabel);
                        selectFirstItem();
                        if (options.sortable)$ol.sortable("refresh");
                    }
                }

                function addListItemShow($item) {
                    if (options.animate && !buildingSelect) {
                        $item.animate({opacity:"show",height:"show"}, 100, "swing", function() {
                            $item.animate({height:"+=2px"}, 50, "swing", function() {
                                $item.animate({height:"-=2px"}, 25, "swing");
                            });
                        });
                    } else {
                        $item.show();
                    }
                }

                function dropListItem(optionId, highlightItem) {
                    if (highlightItem == undefined)var highlightItem = true;
                    var $O = $('#' + optionId);
                    $O.attr('selected', false);
                    $item = $ol.children("li[rel=" + optionId + "]");
                    dropListItemHide($item);
                    enableSelectOption($("[rel=" + optionId + "]", options.removeWhenAdded ? $selectRemoved : $select));
                    if (highlightItem)setHighlight($item, options.highlightRemovedLabel);
                    triggerOriginalChange(optionId, 'drop');
                }

                function dropListItemHide($item) {
                    if (options.animate && !buildingSelect) {
                        $prevItem = $item.prev("li");
                        $item.animate({opacity:"hide",height:"hide"}, 100, "linear", function() {
                            $prevItem.animate({height:"-=2px"}, 50, "swing", function() {
                                $prevItem.animate({height:"+=2px"}, 100, "swing");
                            });
                            $item.remove();
                        });
                    } else {
                        $item.remove();
                    }
                }

                function setHighlight($item, label) {
                    if (!options.highlight)return;
                    $select.next("#" + options.highlightClass + index).remove();
                    var $highlight = $("<span></span>").hide().addClass(options.highlightClass).attr('id', options.highlightClass + index).html(label + $item.children("." + options.listItemLabelClass).slice(0, 1).text());
                    $select.after($highlight);
                    $highlight.fadeIn("fast", function() {
                        setTimeout(function() {
                            $highlight.fadeOut("slow");
                        }, 50);
                    });
                }

                function triggerOriginalChange(optionId, type) {
                    ignoreOriginalChangeEvent = true;
                    $option = $("#" + optionId);
                    $original.trigger('change', [
                        {'option':$option,'value':$option.val(),'id':optionId,'item':$ol.children("[rel=" + optionId + "]"),'type':type}
                    ]);
                }

                init();
            });
        };
    })(jQuery);
}
;

function autoComplete() {
    (function($) {
        $.fn.extend({autocomplete:function(urlOrData, options) {
            var isUrl = typeof urlOrData == "string";
            options = $.extend({}, $.Autocompleter.defaults, {url:isUrl ? urlOrData : null,data:isUrl ? null : urlOrData,delay:isUrl ? $.Autocompleter.defaults.delay : 10,max:options && !options.scroll ? 10 : 150}, options);
            options.highlight = options.highlight || function(value) {
                return value;
            };
            options.formatMatch = options.formatMatch || options.formatItem;
            return this.each(function() {
                new $.Autocompleter(this, options);
            });
        },result:function(handler) {
            return this.bind("result", handler);
        },search:function(handler) {
            return this.trigger("search", [handler]);
        },flushCache:function() {
            return this.trigger("flushCache");
        },setOptions:function(options) {
            return this.trigger("setOptions", [options]);
        },unautocomplete:function() {
            return this.trigger("unautocomplete");
        }});
        $.Autocompleter = function(input, options) {
            var KEY = {UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};
            var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);
            var timeout;
            var previousValue = "";
            var cache = $.Autocompleter.Cache(options);
            var hasFocus = 0;
            var lastKeyPressCode;
            var config = {mouseDownOnSelect:false};
            var select = $.Autocompleter.Select(options, input, selectCurrent, config);
            var blockSubmit;
            $.browser.opera && $(input.form).bind("submit.autocomplete", function() {
                if (blockSubmit) {
                    blockSubmit = false;
                    return false;
                }
            });
            $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete",
                    function(event) {
                        hasFocus = 1;
                        lastKeyPressCode = event.keyCode;
                        switch (event.keyCode) {
                            case KEY.UP:
                                event.preventDefault();
                                if (select.visible()) {
                                    select.prev();
                                } else {
                                    onChange(0, true);
                                }
                                break;
                            case KEY.DOWN:
                                event.preventDefault();
                                if (select.visible()) {
                                    select.next();
                                } else {
                                    onChange(0, true);
                                }
                                break;
                            case KEY.PAGEUP:
                                event.preventDefault();
                                if (select.visible()) {
                                    select.pageUp();
                                } else {
                                    onChange(0, true);
                                }
                                break;
                            case KEY.PAGEDOWN:
                                event.preventDefault();
                                if (select.visible()) {
                                    select.pageDown();
                                } else {
                                    onChange(0, true);
                                }
                                break;
                            case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
                            case KEY.TAB:
                            case KEY.RETURN:
                                if (selectCurrent()) {
                                    event.preventDefault();
                                    blockSubmit = true;
                                    return false;
                                }
                                break;
                            case KEY.ESC:
                                select.hide();
                                break;
                            default:
                                clearTimeout(timeout);
                                timeout = setTimeout(onChange, options.delay);
                                break;
                        }
                    }).focus(
                    function() {
                        hasFocus++;
                    }).blur(
                    function() {
                        hasFocus = 0;
                        if (!config.mouseDownOnSelect) {
                            hideResults();
                        }
                    }).click(
                    function() {
                        if (hasFocus++ > 1 && !select.visible()) {
                            onChange(0, true);
                        }
                    }).bind("search",
                    function() {
                        var fn = (arguments.length > 1) ? arguments[1] : null;

                        function findValueCallback(q, data) {
                            var result;
                            if (data && data.length) {
                                for (var i = 0; i < data.length; i++) {
                                    if (data[i].result.toLowerCase() == q.toLowerCase()) {
                                        result = data[i];
                                        break;
                                    }
                                }
                            }
                            if (typeof fn == "function")fn(result); else $input.trigger("result", result && [result.data,result.value]);
                        }

                        $.each(trimWords($input.val()), function(i, value) {
                            request(value, findValueCallback, findValueCallback);
                        });
                    }).bind("flushCache",
                    function() {
                        cache.flush();
                    }).bind("setOptions",
                    function() {
                        $.extend(options, arguments[1]);
                        if ("data"in arguments[1])cache.populate();
                    }).bind("unautocomplete", function() {
                select.unbind();
                $input.unbind();
                $(input.form).unbind(".autocomplete");
            });
            function selectCurrent() {
                var selected = select.selected();
                if (!selected)return false;
                var v = selected.result;
                previousValue = v;
                if (options.multiple) {
                    var words = trimWords($input.val());
                    if (words.length > 1) {
                        var seperator = options.multipleSeparator.length;
                        var cursorAt = $(input).selection().start;
                        var wordAt,progress = 0;
                        $.each(words, function(i, word) {
                            progress += word.length;
                            if (cursorAt <= progress) {
                                wordAt = i;
                                return false;
                            }
                            progress += seperator;
                        });
                        words[wordAt] = v;
                        v = words.join(options.multipleSeparator);
                    }
                    v += options.multipleSeparator;
                }
                $input.val(v);
                hideResultsNow();
                $input.trigger("result", [selected.data,selected.value]);
                return true;
            }

            function onChange(crap, skipPrevCheck) {
                if (lastKeyPressCode == KEY.DEL) {
                    select.hide();
                    return;
                }
                var currentValue = $input.val();
                if (!skipPrevCheck && currentValue == previousValue)return;
                previousValue = currentValue;
                currentValue = lastWord(currentValue);
                if (currentValue.length >= options.minChars) {
                    $input.addClass(options.loadingClass);
                    if (!options.matchCase)currentValue = currentValue.toLowerCase();
                    request(currentValue, receiveData, hideResultsNow);
                } else {
                    stopLoading();
                    select.hide();
                }
            }

            ;
            function trimWords(value) {
                if (!value)return[""];
                if (!options.multiple)return[$.trim(value)];
                return $.map(value.split(options.multipleSeparator), function(word) {
                    return $.trim(value).length ? $.trim(word) : null;
                });
            }

            function lastWord(value) {
                if (!options.multiple)return value;
                var words = trimWords(value);
                if (words.length == 1)return words[0];
                var cursorAt = $(input).selection().start;
                if (cursorAt == value.length) {
                    words = trimWords(value)
                } else {
                    words = trimWords(value.replace(value.substring(cursorAt), ""));
                }
                return words[words.length - 1];
            }

            function autoFill(q, sValue) {
                if (options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE) {
                    $input.val($input.val() + sValue.substring(lastWord(previousValue).length));
                    $(input).selection(previousValue.length, previousValue.length + sValue.length);
                }
            }

            ;
            function hideResults() {
                clearTimeout(timeout);
                timeout = setTimeout(hideResultsNow, 200);
            }

            ;
            function hideResultsNow() {
                var wasVisible = select.visible();
                select.hide();
                clearTimeout(timeout);
                stopLoading();
                if (options.mustMatch) {
                    $input.search(function(result) {
                        if (!result) {
                            if (options.multiple) {
                                var words = trimWords($input.val()).slice(0, -1);
                                $input.val(words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : ""));
                            } else {
                                $input.val("");
                                $input.trigger("result", null);
                            }
                        }
                    });
                }
            }

            ;
            function receiveData(q, data) {
                if (data && data.length && hasFocus) {
                    stopLoading();
                    select.display(data, q);
                    autoFill(q, data[0].value);
                    select.show();
                } else {
                    hideResultsNow();
                }
            }

            ;
            function request(term, success, failure) {
                if (!options.matchCase)term = term.toLowerCase();
                var data = cache.load(term);
                if (data && data.length) {
                    success(term, data);
                } else if ((typeof options.url == "string") && (options.url.length > 0)) {
                    var extraParams = {timestamp:+new Date()};
                    $.each(options.extraParams, function(key, param) {
                        extraParams[key] = typeof param == "function" ? param() : param;
                    });
                    $.ajax({mode:"abort",port:"autocomplete" + input.name,dataType:options.dataType,url:options.url,data:$.extend({q:lastWord(term),limit:options.max}, extraParams),success:function(data) {
                        var parsed = options.parse && options.parse(data) || parse(data);
                        cache.add(term, parsed);
                        success(term, parsed);
                    }});
                } else {
                    select.emptyList();
                    failure(term);
                }
            }

            ;
            function parse(data) {
                var parsed = [];
                var rows = data.split("\n");
                for (var i = 0; i < rows.length; i++) {
                    var row = $.trim(rows[i]);
                    if (row) {
                        row = row.split("|");
                        parsed[parsed.length] = {data:row,value:row[0],result:options.formatResult && options.formatResult(row, row[0]) || row[0]};
                    }
                }
                return parsed;
            }

            ;
            function stopLoading() {
                $input.removeClass(options.loadingClass);
            }

            ;
        };
        $.Autocompleter.defaults = {inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(row) {
            return row[0];
        },formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(value, term) {
            return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
        },scroll:true,scrollHeight:180};
        $.Autocompleter.Cache = function(options) {
            var data = {};
            var length = 0;

            function matchSubset(s, sub) {
                if (!options.matchCase)s = s.toLowerCase();
                var i = s.indexOf(sub);
                if (options.matchContains == "word") {
                    i = s.toLowerCase().search("\\b" + sub.toLowerCase());
                }
                if (i == -1)return false;
                return i == 0 || options.matchContains;
            }

            ;
            function add(q, value) {
                if (length > options.cacheLength) {
                    flush();
                }
                if (!data[q]) {
                    length++;
                }
                data[q] = value;
            }

            function populate() {
                if (!options.data)return false;
                var stMatchSets = {},nullData = 0;
                if (!options.url)options.cacheLength = 1;
                stMatchSets[""] = [];
                for (var i = 0,ol = options.data.length; i < ol; i++) {
                    var rawValue = options.data[i];
                    rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;
                    var value = options.formatMatch(rawValue, i + 1, options.data.length);
                    if (value === false)continue;
                    var firstChar = value.charAt(0).toLowerCase();
                    if (!stMatchSets[firstChar])stMatchSets[firstChar] = [];
                    var row = {value:value,data:rawValue,result:options.formatResult && options.formatResult(rawValue) || value};
                    stMatchSets[firstChar].push(row);
                    if (nullData++ < options.max) {
                        stMatchSets[""].push(row);
                    }
                }
                ;
                $.each(stMatchSets, function(i, value) {
                    options.cacheLength++;
                    add(i, value);
                });
            }

            setTimeout(populate, 25);
            function flush() {
                data = {};
                length = 0;
            }

            return{flush:flush,add:add,populate:populate,load:function(q) {
                if (!options.cacheLength || !length)return null;
                if (!options.url && options.matchContains) {
                    var csub = [];
                    for (var k in data) {
                        if (k.length > 0) {
                            var c = data[k];
                            $.each(c, function(i, x) {
                                if (matchSubset(x.value, q)) {
                                    csub.push(x);
                                }
                            });
                        }
                    }
                    return csub;
                } else
                if (data[q]) {
                    return data[q];
                } else
                if (options.matchSubset) {
                    for (var i = q.length - 1; i >= options.minChars; i--) {
                        var c = data[q.substr(0, i)];
                        if (c) {
                            var csub = [];
                            $.each(c, function(i, x) {
                                if (matchSubset(x.value, q)) {
                                    csub[csub.length] = x;
                                }
                            });
                            return csub;
                        }
                    }
                }
                return null;
            }};
        };
        $.Autocompleter.Select = function(options, input, select, config) {
            var CLASSES = {ACTIVE:"ac_over"};
            var listItems,active = -1,data,term = "",needsInit = true,element,list;

            function init() {
                if (!needsInit)return;
                element = $("<div/>").hide().addClass(options.resultsClass).css("position", "absolute").appendTo(document.body);
                list = $("<ul/>").appendTo(element).mouseover(
                        function(event) {
                            if (target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
                                active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
                                $(target(event)).addClass(CLASSES.ACTIVE);
                            }
                        }).click(
                        function(event) {
                            $(target(event)).addClass(CLASSES.ACTIVE);
                            select();
                            input.focus();
                            return false;
                        }).mousedown(
                        function() {
                            config.mouseDownOnSelect = true;
                        }).mouseup(function() {
                    config.mouseDownOnSelect = false;
                });
                if (options.width > 0)element.css("width", options.width);
                needsInit = false;
            }

            function target(event) {
                var element = event.target;
                while (element && element.tagName != "LI")element = element.parentNode;
                if (!element)return[];
                return element;
            }

            function moveSelect(step) {
                listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
                movePosition(step);
                var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
                if (options.scroll) {
                    var offset = 0;
                    listItems.slice(0, active).each(function() {
                        offset += this.offsetHeight;
                    });
                    if ((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
                        list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
                    } else if (offset < list.scrollTop()) {
                        list.scrollTop(offset);
                    }
                }
            }

            ;
            function movePosition(step) {
                active += step;
                if (active < 0) {
                    active = listItems.size() - 1;
                } else if (active >= listItems.size()) {
                    active = 0;
                }
            }

            function limitNumberOfItems(available) {
                return options.max && options.max < available ? options.max : available;
            }

            function fillList() {
                list.empty();
                var max = limitNumberOfItems(data.length);
                for (var i = 0; i < max; i++) {
                    if (!data[i])continue;
                    var formatted = options.formatItem(data[i].data, i + 1, max, data[i].value, term);
                    if (formatted === false)continue;
                    var li = $("<li/>").html(options.highlight(formatted, term)).addClass(i % 2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
                    $.data(li, "ac_data", data[i]);
                }
                listItems = list.find("li");
                if (options.selectFirst) {
                    listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
                    active = 0;
                }
                if ($.fn.bgiframe)list.bgiframe();
            }

            return{display:function(d, q) {
                init();
                data = d;
                term = q;
                fillList();
            },next:function() {
                moveSelect(1);
            },prev:function() {
                moveSelect(-1);
            },pageUp:function() {
                if (active != 0 && active - 8 < 0) {
                    moveSelect(-active);
                } else {
                    moveSelect(-8);
                }
            },pageDown:function() {
                if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
                    moveSelect(listItems.size() - 1 - active);
                } else {
                    moveSelect(8);
                }
            },hide:function() {
                element && element.hide();
                listItems && listItems.removeClass(CLASSES.ACTIVE);
                active = -1;
            },visible:function() {
                return element && element.is(":visible");
            },current:function() {
                return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
            },show:function() {
                var offset = $(input).offset();
                element.css({width:typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),top:offset.top + input.offsetHeight,left:offset.left}).show();
                if (options.scroll) {
                    list.scrollTop(0);
                    list.css({maxHeight:options.scrollHeight,overflow:'auto'});
                    if ($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
                        var listHeight = 0;
                        listItems.each(function() {
                            listHeight += this.offsetHeight;
                        });
                        var scrollbarsVisible = listHeight > options.scrollHeight;
                        list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight);
                        if (!scrollbarsVisible) {
                            listItems.width(list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")));
                        }
                    }
                }
            },selected:function() {
                var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
                return selected && selected.length && $.data(selected[0], "ac_data");
            },emptyList:function() {
                list && list.empty();
            },unbind:function() {
                element && element.remove();
            }};
        };
        $.fn.selection = function(start, end) {
            if (start !== undefined) {
                return this.each(function() {
                    if (this.createTextRange) {
                        var selRange = this.createTextRange();
                        if (end === undefined || start == end) {
                            selRange.move("character", start);
                            selRange.select();
                        } else {
                            selRange.collapse(true);
                            selRange.moveStart("character", start);
                            selRange.moveEnd("character", end);
                            selRange.select();
                        }
                    } else if (this.setSelectionRange) {
                        this.setSelectionRange(start, end);
                    } else if (this.selectionStart) {
                        this.selectionStart = start;
                        this.selectionEnd = end;
                    }
                });
            }
            var field = this[0];
            if (field.createTextRange) {
                var range = document.selection.createRange(),orig = field.value,teststring = "<->",textLength = range.text.length;
                range.text = teststring;
                var caretAt = field.value.indexOf(teststring);
                field.value = orig;
                this.selection(caretAt, caretAt + textLength);
                return{start:caretAt,end:caretAt + textLength}
            } else if (field.selectionStart !== undefined) {
                return{start:field.selectionStart,end:field.selectionEnd}
            }
        };
    })(jQuery);
}
;

function addTaskScript() {
    $(':input:not([type="button"],[type="submit"],[type="checkbox"],[id="SearchInputString"],[class="selects"],[class="noHighlight"])').each(function() {
        $(this).focus(
                function() {
                    if (!$(this).parent().hasClass("errordiv")) {
                        $(this).parent().addClass('formFieldFocus');
                    }
                }).blur(function() {
                    $(this).parent().removeClass('formFieldFocus');
                });
    });

    $("#startdate").datepicker({ showAnim: 'fadeIn', showButtonPanel: true, dateFormat: 'D d-M-yy', firstDay: 1});
    $("#duedate").datepicker({ showAnim: 'fadeIn', showButtonPanel: true, dateFormat: 'D d-M-yy', firstDay: 1});
    $("#Reminderdate").datepicker({ showAnim: 'fadeIn', showButtonPanel: true, dateFormat: 'D d-M-yy', firstDay: 1});
    $('#ui-datepicker-div').show(); //For Mozilla Gadget window resize adjustment
    $('#ui-datepicker-div').hide(); //For Mozilla Gadget window resize adjustment

    $('#startdate').datepicker('option', 'onSelect', function(startdate) {
        try {
            var startdate = $.datepicker.parseDate('D d-M-yy', startdate);
            var duedate = $.datepicker.parseDate('D d-M-yy', $('#duedate').val());
            if (isDate(duedate) && isDate(startdate)) {
                if (duedate < startdate) {
                    $('#duedate').datepicker('setDate', new Date(startdate))
                }
                ;
            }
            var today = new Date();
            if (isDate(startdate) && startdate <= today) {
                $("#status option[value='In Progress']").attr('selected', 'selected');
            }
        } catch (e) {
            $('#startdate').datepicker('setDate', new Date());
        }
    });


    $('#reminder').click(function() {
        if ($(this).attr('checked') == true) {
            $('#Reminderdate').removeAttr('disabled');
            $('#Remindertime').removeAttr('disabled');
            $("#Remindertime option[value='None']").remove();
            $("#Remindertime option[value='8:00 AM']").attr('selected', 'selected');
            try {
                var duedate = $.datepicker.parseDate('D d-M-yy', $('#duedate').val());
                if (isDate(duedate)) {
                    $('#Reminderdate').datepicker('setDate', new Date(duedate));
                } else {
                    $('#Reminderdate').datepicker('setDate', new Date());
                }
            } catch (e) {
                $('#Reminderdate').datepicker('setDate', new Date());
            }

        } else {
            $('#Reminderdate').val('None');
            $('#Reminderdate').attr('disabled', 'disabled');
            $("#Remindertime").append('<option selected value="None">None</option>');
            $('#Remindertime').attr('disabled', 'disabled');
        }
    });

    $('#status').change(function() {
        if ($(this).val() == 'Completed') {
            $('#reminder').attr('checked', false);
            $('#Reminderdate').attr('disabled', 'disabled');
            $('#Remindertime').attr('disabled', 'disabled');
            $("#percentcomplete option[value='100']").attr('selected', 'selected');
        } else if ($(this).val() == 'Not Started') {
            $("#percentcomplete option[value='0']").attr('selected', 'selected');
        }
    });

    $('#percentcomplete').change(function() {
        var percentcomplete = parseInt($('#percentcomplete').val());
        if (percentcomplete == 100) {
            $("#status option[value='Completed']").attr('selected', 'selected');
        } else if (percentcomplete > 0) {
            $("#status option[value='In Progress']").attr('selected', 'selected');
        } else if (percentcomplete == 0) {
            $("#status option[value='Not Started']").attr('selected', 'selected');
        }
        ;
    });

    $('#privateToggle').live("click", function() {
        if ($('#private').is(':checked')) {
            $('#private').attr('checked', false);
            $("#privateToggleImg").attr("src", "https://d3dy5758jso6il.cloudfront.net/Content/images/ico_lock_open.gif");
            $("#privateToggleImg2").attr("src", "https://d3dy5758jso6il.cloudfront.net/Content/images/ico_lock_open.gif");
            $("#privateToggleImg").attr("title", "This task is currently visible to others. Click to mark this task private so others cannot see the details");
            $("#privateToggleImg2").attr("title", "This task is currently visible to others. Click to mark this task private so others cannot see the details");
        } else {
            $('#private').attr('checked', true);
            $("#privateToggleImg").attr("src", "https://d3dy5758jso6il.cloudfront.net/Content/images/ico-lockbig.gif");
            $("#privateToggleImg2").attr("src", "https://d3dy5758jso6il.cloudfront.net/Content/images/ico-lockbig.gif");
            $("#privateToggleImg").attr("title", "This task is currently private. Click to make the details of this task viewable to others");
            $("#privateToggleImg2").attr("title", "This task is currently private. Click to make the details of this task viewable to others");
        }
        return false;
    });

    $('#privateToggle2').live("click", function() {
        if ($('#private').is(':checked')) {
            $('#private').attr('checked', false);
            $("#privateToggleImg").attr("src", "https://d3dy5758jso6il.cloudfront.net/Content/images/ico_lock_open.gif");
            $("#privateToggleImg2").attr("src", "https://d3dy5758jso6il.cloudfront.net/Content/images/ico_lock_open.gif");
            $("#privateToggleImg").attr("title", "This task is currently visible to others. Click to mark this task private so others cannot see the details");
            $("#privateToggleImg2").attr("title", "This task is currently visible to others. Click to mark this task private so others cannot see the details");
        } else {
            $('#private').attr('checked', true);
            $("#privateToggleImg").attr("src", "https://d3dy5758jso6il.cloudfront.net/Content/images/ico-lockbig.gif");
            $("#privateToggleImg2").attr("src", "https://d3dy5758jso6il.cloudfront.net/Content/images/ico-lockbig.gif");
            $("#privateToggleImg").attr("title", "This task is currently private. Click to make the details of this task viewable to others");
            $("#privateToggleImg2").attr("title", "This task is currently private. Click to make the details of this task viewable to others");
        }
        return false;
    });

    $('#AssignedTo').change(function() {
        if ($(this).val() == '') {
            $('#reminderDiv').show();
            $('#assignedDiv').hide();
        } else {
            $('#reminderDiv').hide();
            $('#assignedDiv').show();
        }
    });
    $("#Title").focus();
}
;

function addOppScript() {
    $(':input:not([type="button"],[type="submit"],[type="checkbox"],[id="SearchInputString"],[class="selects"],[class="noHighlight"])').each(function() {
        $(this).focus(
                function() {
                    if (!$(this).parent().hasClass("errordiv")) {
                        $(this).parent().addClass('formFieldFocus');
                    }
                }).blur(function() {
                    $(this).parent().removeClass('formFieldFocus');
                });
    });
    $("select#BID_TYPE").change(function() {
        var bidTypeVal = $('#BID_TYPE').val();
        switch (bidTypeVal) {
            case 'Fixed Bid':
                $('#SPAN_BID_DURATION').hide();
                $('#durationOption').hide();
                break;
            case 'Per Hour':
                $('#SPAN_BID_DURATION').show();
                $('#durationOption').text('hours');
                $('#durationOption').show();
                break;
            case 'Per Week':
                $('#SPAN_BID_DURATION').show();
                $('#durationOption').text('weeks');
                $('#durationOption').show();
                break;
            case 'Per Month':
                $('#SPAN_BID_DURATION').show();
                $('#durationOption').text('months');
                $('#durationOption').show();
                break;
            case 'Per Year':
                $('#SPAN_BID_DURATION').show();
                $('#durationOption').text('years');
                $('#durationOption').show();
                break;
        }
    });
    $("#forcastclosedate").datepicker({ showAnim: 'slideDown', showButtonPanel: true, dateFormat: 'D d-M-yy', firstDay: 1 });

    $('#visible_to_Group').click(function() {
        $('#GroupSelection').show();
        $('#IndividualsSelection').hide();
    });
    $('#visible_to_People').click(function() {
        $('#IndividualsSelection').show();
        $('#GroupSelection').hide();
    });
    $('#visible_to_OnlyMe').click(function() {
        $('#IndividualsSelection').hide();
        $('#GroupSelection').hide();
    });
    $('#visible_to_everyone').click(function() {
        $('#IndividualsSelection').hide();
        $('#GroupSelection').hide();
    });
    $('#showExpandedContactDetails').click(function() {
        $('#contact_section').show();
        $('#link_to_show_contact_section').hide();
        $('#personPhoneNumber1').focus();
    });
    $("select[multiple]").asmSelect({
        addItemTarget: 'top',
        animate: true,
        highlight: false,
        sortable: false
    });
    $('#ui-datepicker-div').show(); //For Mozilla Gadget window resize adjustment
    $('#ui-datepicker-div').hide(); //For Mozilla Gadget window resize adjustment
    $('#OPPORTUNITY_NAME').focus();
}
;

function addProjectScript() {
    $(':input:not([type="button"],[type="submit"],[type="checkbox"],[id="SearchInputString"],[class="selects"],[class="noHighlight"])').each(function() {
        $(this).focus(
                function() {
                    if (!$(this).parent().hasClass("errordiv")) {
                        $(this).parent().addClass('formFieldFocus');
                    }
                }).blur(function() {
                    $(this).parent().removeClass('formFieldFocus');
                });
    });
    $('#visible_to_Group').click(function() {
        $('#GroupSelection').show();
        $('#IndividualsSelection').hide();
    });
    $('#visible_to_People').click(function() {
        $('#IndividualsSelection').show();
        $('#GroupSelection').hide();
    });
    $('#visible_to_OnlyMe').click(function() {
        $('#IndividualsSelection').hide();
        $('#GroupSelection').hide();
    });
    $('#visible_to_everyone').click(function() {
        $('#IndividualsSelection').hide();
        $('#GroupSelection').hide();
    });
    $("select[multiple]").asmSelect({
        addItemTarget: 'top',
        animate: true,
        highlight: false,
        sortable: false
    });
    $('#PROJECT_NAME').focus();
}
;

function emailLinksScript() {
    $("#LinkTextBox").autocomplete(JSONLinkList, {
        matchContains: true,
        autoFill: false,
        highlightItem: true,
        mustMatch: true,
        max: 8,
        formatItem: function(row, i, max) {
            return row.name + " (" + row.type + ")";
        },
        formatMatch: function(row, i, max) {
            return row.name;
        },
        formatResult: function(row) {
            return row.name;
        }
    });

    $("#LinkTextBox").result(function(event, data, formatted) {
        if (data) {
            $('#LinkID').val(data['id']);
            $('#linkName').val(data['name']);
            $('#LinkType').val(data['datatype']);
        }
        ;
    });

    $('#emailLinkAddButton').click(function() {
        addNewEmailLink();
    });

    $('#emailLinksform').submit(function() {
        addNewEmailLink();
        return false;
    });

    $('.delNormLink').live("click", function() {
        var linkid = $(this).attr('id').replace('DELNORMLINK', '');
        var params = {};
        var postdata = {LinkID: linkid};
        params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
        params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
        params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
        var url = "http://gadget.insight.ly/gadget2/EmailLinkDelete/" + email_id;
        gadgets.io.makeRequest(url, deleteEmailLinkResponse, params);
        var parent = $(this).parent().parent();
        parent.slideUp();
    });

    function deleteEmailLinkResponse(data) {
        //Nothing to do
    }

    ;

}
;

gadgets.util.registerOnLoadHandler(init);
</script>
<button class="insightlyButton" id="addEmail" style="display:none" type="button">Save to Insightly</button>
<button class="disabled" disabled="" id="savedEmail" style="display:none" type="button">Saved to Insightly</button>

        <span id="AddButtons">
        <button class="insightlyPillButton insightlyPillButton-l" id="AddTaskButton">Add Task</button>
        <button class="insightlyPillButton insightlyPillButton-c" id="AddOpportunityButton">Add Opportunity</button>
        <button class="insightlyPillButton insightlyPillButton-r" id="AddProjectButton">Add Project</button>
        </span>

<a href="#" id="showContact" style="display:none;margin-left:8px">Sender info</a>
<a href="#" id="showEmailLinks" style="display:none;margin-left:8px">Email links</a>

<div class="infomessage" id="infomessage"></div>
<div id="output"></div>

<script>gadgets.util.runOnLoadHandlers();</script>
<script>window.google.csi.tickDl();
</script>
</body></html>